nlp-compromise

what language!

자연어 처리는 검색과 인공지능 혹은 siri나 alexa 같은 응답형 비서 서비스에는 필수적입니다. javascript기반으로 만들어진 자연어 처리 모듈이 오늘의 깃헙 순위에 올라와 소개합니다.

2016/05/15 Today’s Best

nlp-compromise/nlp_compromise
_nlp_compromise - a cool way to use natural language in javascript_github.com


설치하기

$npm install nlp\_compromise

실행하기

일단 복수형 테스트 해 볼까요?

$ node  
\> let nlp = require("nlp\_compromise");  
NLP {  
plugin: \[Function\],  
lexicon: \[Function\],  
term: \[Function\],  
noun: \[Function\],  
verb: \[Function\],  
adjective: \[Function\],  
adverb: \[Function\],  
value: \[Function\],  
person: \[Function\],  
place: \[Function\],  
date: \[Function\],  
organization: \[Function\],  
text: \[Function\],  
sentence: \[Function\],  
statement: \[Function\],  
question: \[Function\] }  
\> nlp.noun("mouse").pluralize();  
'mice'  
\> nlp.noun("aircraft").pluralize();  
'aircraft'  
\> nlp.noun("millnnium").pluralize();  
'millnnia'  
\> nlp.noun("소녀시대").pluralize();  
's'  
\> nlp.noun("super man").pluralize();  
'super men'  
\>

한글은 안되는군요. (뭐 예상했지만)

mice, aircraft, millenium 같은 복수형이 독특한 단어를 넣어 봤는데, 잘 통과를 합니다.

재미있는 것은 millnnium 으로 단어는 오타가 났는데도 millnnia 로 변형되어 오더라는 것입니다.

plurize 소스를 살펴보면

이렇게 많은 케이스의 단어에 대해 정규식으로 변형 형태를 지정해 놓았네요. 이런 식이라면 한글화는 요원해 보이는군요.

‘소녀시대’는 s로만 변형된다든지 말이죠.

compromise라는 접미가 붙은 이유를 알겠네요.

뭐 어쨌든 영어권에서는 잘 사용될 수 있는 모듈인거 같습니다.

By Keen Dev on May 14, 2016.

Exported from Medium on May 31, 2017.